[INFO] fetching crate otter 1.2.1...
[INFO] testing otter-1.2.1 against master#1f7f8ea0721a3b1eb73e6c6d25cccb371434b320 for pr-154065-1
[INFO] extracting crate otter 1.2.1 into /workspace/builds/worker-5-tc1/source
[INFO] started tweaking crates.io crate otter 1.2.1
[INFO] finished tweaking crates.io crate otter 1.2.1
[INFO] tweaked toml for crates.io crate otter 1.2.1 written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate otter 1.2.1 on toolchain 1f7f8ea0721a3b1eb73e6c6d25cccb371434b320
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate otter 1.2.1 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded num_threads v0.1.6
[INFO] [stderr]   Downloaded itoa v1.0.2
[INFO] [stderr]   Downloaded zstd-safe v4.1.6+zstd.1.5.2
[INFO] [stderr]   Downloaded zstd v0.10.2+zstd.1.5.2
[INFO] [stderr]   Downloaded unic-ucd-version v0.9.0
[INFO] [stderr]   Downloaded sha1 v0.10.1
[INFO] [stderr]   Downloaded phf_codegen v0.10.0
[INFO] [stderr]   Downloaded unic-char-property v0.9.0
[INFO] [stderr]   Downloaded phf_generator v0.10.0
[INFO] [stderr]   Downloaded globset v0.4.9
[INFO] [stderr]   Downloaded rustversion v1.0.7
[INFO] [stderr]   Downloaded phf_shared v0.10.0
[INFO] [stderr]   Downloaded redox_syscall v0.2.13
[INFO] [stderr]   Downloaded walkdir v2.3.2
[INFO] [stderr]   Downloaded ordered-float v3.0.0
[INFO] [stderr]   Downloaded ignore v0.4.18
[INFO] [stderr]   Downloaded lazy-regex v2.3.0
[INFO] [stderr]   Downloaded deunicode v0.4.3
[INFO] [stderr]   Downloaded dlv-list v0.3.0
[INFO] [stderr]   Downloaded const-default v1.0.0
[INFO] [stderr]   Downloaded boolinator v2.4.0
[INFO] [stderr]   Downloaded openssh-keys v0.5.0
[INFO] [stderr]   Downloaded parse-zoneinfo v0.3.0
[INFO] [stderr]   Downloaded ambassador v0.3.1
[INFO] [stderr]   Downloaded bundle-sources v0.0.1
[INFO] [stderr]   Downloaded deflate v1.0.0
[INFO] [stderr]   Downloaded png v0.17.5
[INFO] [stderr]   Downloaded mio v0.8.4
[INFO] [stderr]   Downloaded serde_with v1.14.0
[INFO] [stderr]   Downloaded bstr v0.2.17
[INFO] [stderr]   Downloaded regex-syntax v0.6.26
[INFO] [stderr]   Downloaded num-bigint v0.4.3
[INFO] [stderr]   Downloaded flexi_logger v0.22.5
[INFO] [stderr]   Downloaded backtrace v0.3.65
[INFO] [stderr]   Downloaded nix v0.24.1
[INFO] [stderr]   Downloaded image v0.24.2
[INFO] [stderr]   Downloaded object v0.28.4
[INFO] [stderr]   Downloaded educe v0.4.19
[INFO] [stderr]   Downloaded derive_more v0.99.17
[INFO] [stderr]   Downloaded chrono-tz v0.6.1
[INFO] [stderr]   Downloaded htmlescape v0.3.1
[INFO] [stderr]   Downloaded slotmap-fork-otter v1.0.2
[INFO] [stderr]   Downloaded bzip2-sys v0.1.11+1.0.8
[INFO] [stderr]   Downloaded zstd-sys v1.6.3+zstd.1.5.2
[INFO] [stderr]   Downloaded toml v0.5.9
[INFO] [stderr]   Downloaded regex v1.5.6
[INFO] [stderr]   Downloaded anyhow v1.0.58
[INFO] [stderr]   Downloaded console v0.15.0
[INFO] [stderr]   Downloaded glob v0.3.0
[INFO] [stderr]   Downloaded notify v4.0.17
[INFO] [stderr]   Downloaded gimli v0.26.1
[INFO] [stderr]   Downloaded rmp v0.8.11
[INFO] [stderr]   Downloaded otter-support v1.2.1
[INFO] [stderr]   Downloaded jpeg-decoder v0.2.6
[INFO] [stderr]   Downloaded async-condvar-fair v0.2.2
[INFO] [stderr]   Downloaded strum_macros v0.24.2
[INFO] [stderr]   Downloaded semver v0.10.0
[INFO] [stderr]   Downloaded cargo_metadata v0.11.4
[INFO] [stderr]   Downloaded rustybuzz v0.5.1
[INFO] [stderr]   Downloaded cast_trait_object v0.1.3
[INFO] [stderr]   Downloaded enum-map-derive v0.9.0
[INFO] [stderr]   Downloaded enum_dispatch v0.3.8
[INFO] [stderr]   Downloaded index_vec v0.1.3
[INFO] [stderr]   Downloaded num-complex v0.4.2
[INFO] [stderr]   Downloaded inotify v0.7.1
[INFO] [stderr]   Downloaded net2 v0.2.37
[INFO] [stderr]   Downloaded usvg v0.23.0
[INFO] [stderr]   Downloaded parking_lot_core v0.9.3
[INFO] [stderr]   Downloaded semver v1.0.10
[INFO] [stderr]   Downloaded lock_api v0.4.7
[INFO] [stderr]   Downloaded addr2line v0.17.0
[INFO] [stderr]   Downloaded paste v1.0.7
[INFO] [stderr]   Downloaded rmp-serde v1.1.0
[INFO] [stderr]   Downloaded cast_trait_object_macros v0.1.3
[INFO] [stderr]   Downloaded const-default-derive v0.2.0
[INFO] [stderr]   Downloaded delegate v0.7.0
[INFO] [stderr]   Downloaded enum-map v2.4.0
[INFO] [stderr]   Downloaded lazy-init v0.5.0
[INFO] [stderr]   Downloaded md-5 v0.9.1
[INFO] [stderr]   Downloaded enum-ordinalize v3.1.11
[INFO] [stderr]   Downloaded extend v1.1.2
[INFO] [stderr]   Downloaded fehler-macros v1.0.0
[INFO] [stderr]   Downloaded term_size v0.3.2
[INFO] [stderr]   Downloaded humantime-serde v1.1.1
[INFO] [stderr]   Downloaded derive-into-owned v0.2.0
[INFO] [stderr]   Downloaded slab v0.4.6
[INFO] [stderr]   Downloaded fehler v1.0.0
[INFO] [stderr]   Downloaded pwd v1.3.1
[INFO] [stderr]   Downloaded serde_json v1.0.81
[INFO] [stderr]   Downloaded unicode-normalization v0.1.20
[INFO] [stderr]   Downloaded ttf-parser v0.15.2
[INFO] [stderr]   Downloaded lazy-regex-proc_macros v2.3.0
[INFO] [stderr]   Downloaded tera v1.16.0
[INFO] [stderr]   Downloaded serde v1.0.137
[INFO] [stderr]   Downloaded kurbo v0.8.3
[INFO] [stderr]   Downloaded time v0.3.11
[INFO] [stderr]   Downloaded num v0.4.0
[INFO] [stderr]   Downloaded fsevent-sys v2.0.1
[INFO] [stderr]   Downloaded mio-extras v2.0.6
[INFO] [stderr]   Downloaded if_chain v1.0.2
[INFO] [stderr]   Downloaded otter-base v1.2.1
[INFO] [stderr]   Downloaded unicode-xid v0.2.3
[INFO] [stderr]   Downloaded serde_with_macros v1.5.2
[INFO] [stderr]   Downloaded pest v2.1.3
[INFO] [stderr]   Downloaded url v2.2.2
[INFO] [stderr]   Downloaded unicode-script v0.5.4
[INFO] [stderr]   Downloaded flate2 v1.0.24
[INFO] [stderr]   Downloaded serde_derive v1.0.137
[INFO] [stderr]   Downloaded unicode-ident v1.0.1
[INFO] [stderr]   Downloaded uds v0.2.6
[INFO] [stderr]   Downloaded unicode-general-category v0.4.0
[INFO] [stderr]   Downloaded crossbeam-utils v0.8.10
[INFO] [stderr]   Downloaded miniz_oxide v0.5.3
[INFO] [stderr]   Downloaded sha2 v0.10.2
[INFO] [stderr]   Downloaded typenum v1.15.0
[INFO] [stderr]   Downloaded filetime v0.2.16
[INFO] [stderr]   Downloaded fsevent v0.4.0
[INFO] [stderr]   Downloaded ucd-trie v0.1.3
[INFO] [stderr]   Downloaded unic-ucd-segment v0.9.0
[INFO] [stderr]   Downloaded unic-segment v0.9.0
[INFO] [stderr]   Downloaded proc-macro2 v1.0.40
[INFO] [stderr]   Downloaded fontconfig-parser v0.5.0
[INFO] [stderr]   Downloaded bytemuck v1.9.1
[INFO] [stderr]   Downloaded unicode-bidi v0.3.8
[INFO] [stderr]   Downloaded password-hash v0.3.2
[INFO] [stderr]   Downloaded generic-array v0.12.4
[INFO] [stderr]   Downloaded ryu v1.0.10
[INFO] [stderr]   Downloaded ghost v0.1.4
[INFO] [stderr]   Downloaded typetag v0.1.8
[INFO] [stderr]   Downloaded data-url v0.1.1
[INFO] [stderr]   Downloaded arrayvec v0.7.2
[INFO] [stderr]   Downloaded roxmltree v0.14.1
[INFO] [stderr]   Downloaded smallvec v1.8.1
[INFO] [stderr]   Downloaded svgtypes v0.8.1
[INFO] [stderr]   Downloaded vecdeque-stableix v1.0.0
[INFO] [stderr]   Downloaded once_cell v1.12.0
[INFO] [stderr]   Downloaded uncased v0.9.7
[INFO] [stderr]   Downloaded pest_meta v2.1.3
[INFO] [stderr]   Downloaded pest_derive v2.1.0
[INFO] [stderr]   Downloaded erased-serde v0.3.21
[INFO] [stderr]   Downloaded memmap2 v0.5.4
[INFO] [stderr]   Downloaded pico-args v0.5.0
[INFO] [stderr]   Downloaded xmlparser v0.13.3
[INFO] [stderr]   Downloaded pkg-config v0.3.25
[INFO] [stderr]   Downloaded bzip2 v0.4.3
[INFO] [stderr]   Downloaded generic-array v0.14.5
[INFO] [stderr]   Downloaded digest v0.10.3
[INFO] [stderr]   Downloaded time-macros v0.2.4
[INFO] [stderr]   Downloaded jobserver v0.1.24
[INFO] [stderr]   Downloaded phf v0.10.1
[INFO] [stderr]   Downloaded thread_local v1.1.4
[INFO] [stderr]   Downloaded humansize v1.1.1
[INFO] [stderr]   Downloaded block-padding v0.1.5
[INFO] [stderr]   Downloaded byte-tools v0.3.1
[INFO] [stderr]   Downloaded digest v0.8.1
[INFO] [stderr]   Downloaded slug v0.1.4
[INFO] [stderr]   Downloaded ctor v0.1.22
[INFO] [stderr]   Downloaded inventory v0.2.3
[INFO] [stderr]   Downloaded typetag-impl v0.1.8
[INFO] [stderr]   Downloaded form_urlencoded v1.0.1
[INFO] [stderr]   Downloaded unicode-ccc v0.1.2
[INFO] [stderr]   Downloaded xmlwriter v0.1.0
[INFO] [stderr]   Downloaded chrono-tz-build v0.0.2
[INFO] [stderr]   Downloaded globwalk v0.8.1
[INFO] [stderr]   Downloaded block-buffer v0.7.3
[INFO] [stderr]   Downloaded fake-simd v0.1.2
[INFO] [stderr]   Downloaded pest_generator v2.1.3
[INFO] [stderr]   Downloaded unic-char-range v0.9.0
[INFO] [stderr]   Downloaded unic-common v0.9.0
[INFO] [stderr]   Downloaded matches v0.1.9
[INFO] [stderr]   Downloaded fontdb v0.9.1
[INFO] [stderr]   Downloaded rctree v0.4.0
[INFO] [stderr]   Downloaded siphasher v0.3.10
[INFO] [stderr]   Downloaded unicode-vo v0.1.0
[INFO] [stderr]   Downloaded base64ct v1.0.1
[INFO] [stderr]   Downloaded cpufeatures v0.2.2
[INFO] [stderr]   Downloaded crypto-common v0.1.3
[INFO] [stderr]   Downloaded opaque-debug v0.2.3
[INFO] [stderr]   Downloaded sha-1 v0.8.2
[INFO] [stderr]   Downloaded unicode-bidi-mirroring v0.1.0
[INFO] [stderr]   Downloaded simplecss v0.2.1
[INFO] [stderr]   Downloaded pbkdf2 v0.10.1
[INFO] [stderr]   Downloaded block-buffer v0.10.2
[INFO] [stderr]   Downloaded float-cmp v0.9.0
[INFO] [stderr]   Downloaded zip v0.6.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ce5021271300444cd690f3f606aff305e4917ea6de4cadd160862c0b757aab3e
[INFO] running `Command { std: "docker" "start" "-a" "ce5021271300444cd690f3f606aff305e4917ea6de4cadd160862c0b757aab3e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ce5021271300444cd690f3f606aff305e4917ea6de4cadd160862c0b757aab3e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ce5021271300444cd690f3f606aff305e4917ea6de4cadd160862c0b757aab3e", kill_on_drop: false }`
[INFO] [stdout] ce5021271300444cd690f3f606aff305e4917ea6de4cadd160862c0b757aab3e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ab7b75c75640e83153cb9608128722febe912bec55be65fd7d1d85f2be9aaba7
[INFO] running `Command { std: "docker" "start" "-a" "ab7b75c75640e83153cb9608128722febe912bec55be65fd7d1d85f2be9aaba7", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.40
[INFO] [stderr]    Compiling unicode-ident v1.0.1
[INFO] [stderr]    Compiling quote v1.0.20
[INFO] [stderr]    Compiling syn v1.0.98
[INFO] [stderr]    Compiling version_check v0.9.4
[INFO] [stderr]    Compiling libc v0.2.126
[INFO] [stderr]    Compiling autocfg v1.1.0
[INFO] [stderr]    Compiling serde_derive v1.0.137
[INFO] [stderr]    Compiling memchr v2.5.0
[INFO] [stderr]    Compiling typenum v1.15.0
[INFO] [stderr]    Compiling regex-syntax v0.6.26
[INFO] [stderr]    Compiling serde v1.0.137
[INFO] [stderr]    Compiling log v0.4.17
[INFO] [stderr]    Compiling siphasher v0.3.10
[INFO] [stderr]    Compiling ppv-lite86 v0.2.16
[INFO] [stderr]    Compiling bitflags v1.3.2
[INFO] [stderr]    Compiling once_cell v1.12.0
[INFO] [stderr]    Compiling adler v1.0.2
[INFO] [stderr]    Compiling num-traits v0.2.15
[INFO] [stderr]    Compiling num-integer v0.1.45
[INFO] [stderr]    Compiling miniz_oxide v0.5.3
[INFO] [stderr]    Compiling subtle v2.4.1
[INFO] [stderr]    Compiling cpufeatures v0.2.2
[INFO] [stderr]    Compiling strsim v0.10.0
[INFO] [stderr]    Compiling itoa v1.0.2
[INFO] [stderr]    Compiling walkdir v2.3.2
[INFO] [stderr]    Compiling crc32fast v1.3.2
[INFO] [stderr]    Compiling rustversion v1.0.7
[INFO] [stderr]    Compiling lazy_static v1.4.0
[INFO] [stderr]    Compiling either v1.6.1
[INFO] [stderr]    Compiling generic-array v0.14.5
[INFO] [stderr]    Compiling uncased v0.9.7
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling byteorder v1.4.3
[INFO] [stderr]    Compiling num-bigint v0.4.3
[INFO] [stderr]    Compiling lock_api v0.4.7
[INFO] [stderr]    Compiling pkg-config v0.3.25
[INFO] [stderr]    Compiling unicode-xid v0.2.3
[INFO] [stderr]    Compiling unicode-width v0.1.9
[INFO] [stderr]    Compiling phf_shared v0.10.0
[INFO] [stderr]    Compiling jobserver v0.1.24
[INFO] [stderr]    Compiling getrandom v0.2.7
[INFO] [stderr]    Compiling gimli v0.26.1
[INFO] [stderr]    Compiling aho-corasick v0.7.18
[INFO] [stderr]    Compiling rand_core v0.6.3
[INFO] [stderr]    Compiling cc v1.0.73
[INFO] [stderr]    Compiling phf v0.10.1
[INFO] [stderr]    Compiling crossbeam-utils v0.8.10
[INFO] [stderr]    Compiling serde_json v1.0.81
[INFO] [stderr]    Compiling opaque-debug v0.3.0
[INFO] [stderr]    Compiling parking_lot_core v0.9.3
[INFO] [stderr]    Compiling ucd-trie v0.1.3
[INFO] [stderr]    Compiling failure_derive v0.1.8
[INFO] [stderr]    Compiling slab v0.4.6
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling bstr v0.2.17
[INFO] [stderr]    Compiling pest v2.1.3
[INFO] [stderr]    Compiling object v0.28.4
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling num-rational v0.4.1
[INFO] [stderr]    Compiling memoffset v0.6.5
[INFO] [stderr]    Compiling num-iter v0.1.43
[INFO] [stderr]    Compiling time-macros v0.2.4
[INFO] [stderr]    Compiling block-buffer v0.10.2
[INFO] [stderr]    Compiling crypto-common v0.1.3
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling digest v0.10.3
[INFO] [stderr]    Compiling net2 v0.2.37
[INFO] [stderr]    Compiling iovec v0.1.4
[INFO] [stderr]    Compiling time v0.1.44
[INFO] [stderr]    Compiling inotify-sys v0.1.5
[INFO] [stderr]    Compiling smallvec v1.8.1
[INFO] [stderr]    Compiling tinyvec_macros v0.1.0
[INFO] [stderr]    Compiling num_threads v0.1.6
[INFO] [stderr]    Compiling rustc-demangle v0.1.21
[INFO] [stderr]    Compiling addr2line v0.17.0
[INFO] [stderr]    Compiling zstd-safe v4.1.6+zstd.1.5.2
[INFO] [stderr]    Compiling regex v1.5.6
[INFO] [stderr]    Compiling mio v0.6.23
[INFO] [stderr]    Compiling scopeguard v1.1.0
[INFO] [stderr]    Compiling maplit v1.0.2
[INFO] [stderr]    Compiling unic-char-range v0.9.0
[INFO] [stderr]    Compiling unic-common v0.9.0
[INFO] [stderr]    Compiling ryu v1.0.10
[INFO] [stderr]    Compiling lazycell v1.3.0
[INFO] [stderr]    Compiling ansi_term v0.12.1
[INFO] [stderr]    Compiling unic-ucd-version v0.9.0
[INFO] [stderr]    Compiling zstd-sys v1.6.3+zstd.1.5.2
[INFO] [stderr]    Compiling backtrace v0.3.65
[INFO] [stderr]    Compiling phf_generator v0.10.0
[INFO] [stderr]    Compiling bzip2-sys v0.1.11+1.0.8
[INFO] [stderr]    Compiling unic-char-property v0.9.0
[INFO] [stderr]    Compiling chrono v0.4.19
[INFO] [stderr]    Compiling pest_meta v2.1.3
[INFO] [stderr]    Compiling phf_codegen v0.10.0
[INFO] [stderr]    Compiling sha2 v0.10.2
[INFO] [stderr]    Compiling tinyvec v1.6.0
[INFO] [stderr]    Compiling inotify v0.7.1
[INFO] [stderr]    Compiling digest v0.9.0
[INFO] [stderr]    Compiling block-buffer v0.9.0
[INFO] [stderr]    Compiling filetime v0.2.16
[INFO] [stderr]    Compiling parse-zoneinfo v0.3.0
[INFO] [stderr]    Compiling globset v0.4.9
[INFO] [stderr]    Compiling mio-extras v2.0.6
[INFO] [stderr]    Compiling itertools v0.10.3
[INFO] [stderr]    Compiling time v0.3.11
[INFO] [stderr]    Compiling slotmap-fork-otter v1.0.2
[INFO] [stderr]    Compiling chrono-tz-build v0.0.2
[INFO] [stderr]    Compiling thread_local v1.1.4
[INFO] [stderr]    Compiling anyhow v1.0.58
[INFO] [stderr]    Compiling heck v0.4.0
[INFO] [stderr]    Compiling matches v0.1.9
[INFO] [stderr]    Compiling base64ct v1.0.1
[INFO] [stderr]    Compiling adler32 v1.2.0
[INFO] [stderr]    Compiling percent-encoding v2.1.0
[INFO] [stderr]    Compiling paste v1.0.7
[INFO] [stderr]    Compiling convert_case v0.4.0
[INFO] [stderr]    Compiling erased-serde v0.3.21
[INFO] [stderr]    Compiling unicode-segmentation v1.9.0
[INFO] [stderr]    Compiling ignore v0.4.18
[INFO] [stderr]    Compiling deflate v1.0.0
[INFO] [stderr]    Compiling password-hash v0.3.2
[INFO] [stderr]    Compiling unicode-normalization v0.1.20
[INFO] [stderr]    Compiling notify v4.0.17
[INFO] [stderr]    Compiling rmp v0.8.11
[INFO] [stderr]    Compiling heck v0.3.3
[INFO] [stderr]    Compiling parking_lot v0.12.1
[INFO] [stderr]    Compiling unic-ucd-segment v0.9.0
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling cipher v0.3.0
[INFO] [stderr]    Compiling terminal_size v0.1.17
[INFO] [stderr]    Compiling textwrap v0.11.0
[INFO] [stderr]    Compiling unicase v2.6.0
[INFO] [stderr]    Compiling strsim v0.8.0
[INFO] [stderr]    Compiling vec_map v0.8.2
[INFO] [stderr]    Compiling unicode-bidi v0.3.8
[INFO] [stderr]    Compiling if_chain v1.0.2
[INFO] [stderr]    Compiling void v1.0.2
[INFO] [stderr]    Compiling deunicode v0.4.3
[INFO] [stderr]    Compiling arrayvec v0.7.2
[INFO] [stderr]    Compiling htmlescape v0.3.1
[INFO] [stderr]    Compiling humantime v2.1.0
[INFO] [stderr]    Compiling glob v0.3.0
[INFO] [stderr]    Compiling clap v2.34.0
[INFO] [stderr]    Compiling slug v0.1.4
[INFO] [stderr]    Compiling globwalk v0.8.1
[INFO] [stderr]    Compiling aes v0.7.5
[INFO] [stderr]    Compiling idna v0.2.3
[INFO] [stderr]    Compiling console v0.15.0
[INFO] [stderr]    Compiling unic-segment v0.9.0
[INFO] [stderr]    Compiling pbkdf2 v0.10.1
[INFO] [stderr]    Compiling nix v0.24.1
[INFO] [stderr]    Compiling png v0.17.5
[INFO] [stderr]    Compiling form_urlencoded v1.0.1
[INFO] [stderr]    Compiling sha2 v0.9.9
[INFO] [stderr]    Compiling md-5 v0.9.1
[INFO] [stderr]    Compiling sha1 v0.10.1
[INFO] [stderr]    Compiling num-complex v0.4.2
[INFO] [stderr]    Compiling fs2 v0.4.3
[INFO] [stderr]    Compiling mio v0.8.4
[INFO] [stderr]    Compiling flate2 v1.0.24
[INFO] [stderr]    Compiling chrono-tz v0.6.1
[INFO] [stderr]    Compiling termcolor v1.1.3
[INFO] [stderr]    Compiling humansize v1.1.1
[INFO] [stderr]    Compiling dlv-list v0.3.0
[INFO] [stderr]    Compiling bytemuck v1.9.1
[INFO] [stderr]    Compiling constant_time_eq v0.1.5
[INFO] [stderr]    Compiling jpeg-decoder v0.2.6
[INFO] [stderr]    Compiling pin-project-lite v0.2.9
[INFO] [stderr]    Compiling color_quant v1.1.0
[INFO] [stderr]    Compiling remove_dir_all v0.5.3
[INFO] [stderr]    Compiling fastrand v1.7.0
[INFO] [stderr]    Compiling base64 v0.13.0
[INFO] [stderr]    Compiling async-condvar-fair v0.2.2
[INFO] [stderr]    Compiling num v0.4.0
[INFO] [stderr]    Compiling env_logger v0.9.0
[INFO] [stderr]    Compiling url v2.2.2
[INFO] [stderr]    Compiling vecdeque-stableix v1.0.0
[INFO] [stderr]    Compiling ordered-float v3.0.0
[INFO] [stderr]    Compiling darling_core v0.13.4
[INFO] [stderr]    Compiling synstructure v0.12.6
[INFO] [stderr]    Compiling pest_generator v2.1.3
[INFO] [stderr]    Compiling tempfile v3.3.0
[INFO] [stderr]    Compiling uds v0.2.6
[INFO] [stderr]    Compiling image v0.24.2
[INFO] [stderr]    Compiling downcast-rs v1.2.0
[INFO] [stderr]    Compiling xmlparser v0.13.3
[INFO] [stderr]    Compiling boolinator v2.4.0
[INFO] [stderr]    Compiling lazy-init v0.5.0
[INFO] [stderr]    Compiling bzip2 v0.4.3
[INFO] [stderr]    Compiling thiserror-impl v1.0.31
[INFO] [stderr]    Compiling darling_macro v0.13.4
[INFO] [stderr]    Compiling darling v0.13.4
[INFO] [stderr]    Compiling serde_with_macros v1.5.2
[INFO] [stderr]    Compiling fehler-macros v1.0.0
[INFO] [stderr]    Compiling failure v0.1.8
[INFO] [stderr]    Compiling thiserror v1.0.31
[INFO] [stderr]    Compiling num-derive v0.3.3
[INFO] [stderr]    Compiling ctor v0.1.22
[INFO] [stderr]    Compiling ghost v0.1.4
[INFO] [stderr]    Compiling extend v1.1.2
[INFO] [stderr]    Compiling derive_more v0.99.17
[INFO] [stderr]    Compiling strum_macros v0.24.2
[INFO] [stderr]    Compiling fehler v1.0.0
[INFO] [stderr]    Compiling enum-ordinalize v3.1.11
[INFO] [stderr]    Compiling inventory v0.2.3
[INFO] [stderr]    Compiling pwd v1.3.1
[INFO] [stderr]    Compiling lazy-regex-proc_macros v2.3.0
[INFO] [stderr]    Compiling pest_derive v2.1.0
[INFO] [stderr]    Compiling enum-map-derive v0.9.0
[INFO] [stderr]    Compiling typetag-impl v0.1.8
[INFO] [stderr]    Compiling derive-into-owned v0.2.0
[INFO] [stderr]    Compiling structopt-derive v0.4.18
[INFO] [stderr]    Compiling educe v0.4.19
[INFO] [stderr]    Compiling lazy-regex v2.3.0
[INFO] [stderr]    Compiling openssh-keys v0.5.0
[INFO] [stderr]    Compiling delegate v0.7.0
[INFO] [stderr]    Compiling ambassador v0.3.1
[INFO] [stderr]    Compiling enum_dispatch v0.3.8
[INFO] [stderr]    Compiling strum v0.24.1
[INFO] [stderr]    Compiling structopt v0.3.26
[INFO] [stderr]    Compiling serde_with v1.14.0
[INFO] [stderr]    Compiling toml v0.5.9
[INFO] [stderr]    Compiling rmp-serde v1.1.0
[INFO] [stderr]    Compiling index_vec v0.1.3
[INFO] [stderr]    Compiling humantime-serde v1.1.1
[INFO] [stderr]    Compiling enum-map v2.4.0
[INFO] [stderr]    Compiling flexi_logger v0.22.5
[INFO] [stderr]    Compiling typetag v0.1.8
[INFO] [stderr]    Compiling tera v1.16.0
[INFO] [stderr]    Compiling otter-base v1.2.1
[INFO] [stderr]    Compiling proc-macro-crate v1.1.3
[INFO] [stderr]    Compiling proc-macro-crate v0.1.5
[INFO] [stderr]    Compiling otter-support v1.2.1
[INFO] [stderr]    Compiling cast_trait_object_macros v0.1.3
[INFO] [stderr]    Compiling const-default-derive v0.2.0
[INFO] [stderr]    Compiling const-default v1.0.0
[INFO] [stderr]    Compiling cast_trait_object v0.1.3
[INFO] [stderr]    Compiling zstd v0.10.2+zstd.1.5.2
[INFO] [stderr]    Compiling zip v0.6.2
[INFO] [stderr]    Compiling otter v1.2.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: ambiguous glob re-exports
[INFO] [stdout]   --> src/imports.rs:90:9
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub use crate::fastsplit::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^ the name `RefTraitObjectPieceTraitExt` in the type namespace is first re-exported here
[INFO] [stdout] 91 | pub use crate::gamestate::*;
[INFO] [stdout]    |         ------------------- but the name `RefTraitObjectPieceTraitExt` in the type namespace is also re-exported here
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(ambiguous_glob_reexports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous glob re-exports
[INFO] [stdout]   --> src/prelude.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub use crate::imports::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^ the name `Error` in the type namespace is first re-exported here
[INFO] [stdout] ...
[INFO] [stdout] 37 | pub use otter_support::imports::*;
[INFO] [stdout]    |         ------------------------- but the name `Error` in the type namespace is also re-exported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `Error` is ambiguous
[INFO] [stdout]     --> src/global.rs:1490:8
[INFO] [stdout]      |
[INFO] [stdout] 1490 |     E: Error,
[INFO] [stdout]      |        ^^^^^ ambiguous name
[INFO] [stdout]      |
[INFO] [stdout]      = note: ambiguous because of multiple glob imports of a name in the same module
[INFO] [stdout] note: `Error` could refer to the trait imported here
[INFO] [stdout]     --> src/prelude.rs:31:9
[INFO] [stdout]      |
[INFO] [stdout]   31 | pub use crate::imports::*;
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = help: consider adding an explicit import of `Error` to disambiguate
[INFO] [stdout] note: `Error` could also refer to the enum imported here
[INFO] [stdout]     --> src/prelude.rs:37:9
[INFO] [stdout]      |
[INFO] [stdout]   37 | pub use otter_support::imports::*;
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = help: consider adding an explicit import of `Error` to disambiguate
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]      = note: for more information, see issue #114095 <https://github.com/rust-lang/rust/issues/114095>
[INFO] [stdout]      = note: `#[deny(ambiguous_glob_imports)]` (part of `#[deny(future_incompatible)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `Error` is ambiguous
[INFO] [stdout]    --> src/updates.rs:476:30
[INFO] [stdout]     |
[INFO] [stdout] 476 |   pub fn try_map<NS2, ZC2, E:Error,
[INFO] [stdout]     |                              ^^^^^ ambiguous name
[INFO] [stdout]     |
[INFO] [stdout]     = note: ambiguous because of multiple glob imports of a name in the same module
[INFO] [stdout] note: `Error` could refer to the trait imported here
[INFO] [stdout]    --> src/prelude.rs:31:9
[INFO] [stdout]     |
[INFO] [stdout]  31 | pub use crate::imports::*;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Error` to disambiguate
[INFO] [stdout] note: `Error` could also refer to the enum imported here
[INFO] [stdout]    --> src/prelude.rs:37:9
[INFO] [stdout]     |
[INFO] [stdout]  37 | pub use otter_support::imports::*;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: consider adding an explicit import of `Error` to disambiguate
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #114095 <https://github.com/rust-lang/rust/issues/114095>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]    --> src/gamestate.rs:133:43
[INFO] [stdout]     |
[INFO] [stdout] 133 |         if s.as_bytes().iter().all(|&c:&u8| (
[INFO] [stdout]     |  ___________________________________________^
[INFO] [stdout] 134 | |         c.is_ascii_alphanumeric() ||
[INFO] [stdout]     | |________^
[INFO] [stdout] 135 |           b"-_. ()".contains(&c)
[INFO] [stdout]     |  _______________________________^
[INFO] [stdout] 136 | |       )) {
[INFO] [stdout]     | |_______^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 133 ~       if s.as_bytes().iter().all(|&c:&u8| c.is_ascii_alphanumeric() ||
[INFO] [stdout] 134 ~         b"-_. ()".contains(&c)) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]     --> src/hidden.rs:1004:7
[INFO] [stdout]      |
[INFO] [stdout] 1004 |     (|| (
[INFO] [stdout]      |  _______^
[INFO] [stdout] 1005 | |     (||{
[INFO] [stdout]      | |____^
[INFO] [stdout] ...
[INFO] [stdout] 1029 |       })
[INFO] [stdout]      |  _______^
[INFO] [stdout] 1030 | |   ))()?;
[INFO] [stdout]      | |___^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 1004 ~   (|| (||{
[INFO] [stdout] 1005 |       let ogpc = gpieces.get_mut(occulter).ok_or_else(
[INFO] [stdout]  ...
[INFO] [stdout] 1027 |       e
[INFO] [stdout] 1028 ~     }))()?;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: Use of ambiguously glob imported trait `RefTraitObjectPieceTraitExt`
[INFO] [stdout]    --> src/currency.rs:159:8
[INFO] [stdout]     |
[INFO] [stdout]  16 | use crate::prelude::*;
[INFO] [stdout]     |     -------------- `RefTraitObjectPieceTraitExt` imported ambiguously here
[INFO] [stdout] ...
[INFO] [stdout] 159 |       .downcast_piece_fastsplit()?;
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: Import `RefTraitObjectPieceTraitExt` explicitly
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #147992 <https://github.com/rust-lang/rust/issues/147992>
[INFO] [stdout]     = note: `#[warn(ambiguous_glob_imported_traits)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: Use of ambiguously glob imported trait `RefTraitObjectPieceTraitExt`
[INFO] [stdout]    --> src/currency.rs:225:10
[INFO] [stdout]     |
[INFO] [stdout]  16 | use crate::prelude::*;
[INFO] [stdout]     |     -------------- `RefTraitObjectPieceTraitExt` imported ambiguously here
[INFO] [stdout] ...
[INFO] [stdout] 225 |         .downcast_piece_fastsplit().ok()?;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: Import `RefTraitObjectPieceTraitExt` explicitly
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #147992 <https://github.com/rust-lang/rust/issues/147992>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/global.rs:1290:9
[INFO] [stdout]      |
[INFO] [stdout] 1290 |     for mut p in gs.pieces.values_mut() {
[INFO] [stdout]      |         ----^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ReadSeek` is never used
[INFO] [stdout]    --> src/bundles.rs:355:7
[INFO] [stdout]     |
[INFO] [stdout] 355 | trait ReadSeek: Read + io::Seek { }
[INFO] [stdout]     |       ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/bundles.rs:447:6
[INFO] [stdout]     |
[INFO] [stdout] 447 |   IE(IE),
[INFO] [stdout]     |   -- ^^
[INFO] [stdout]     |   |
[INFO] [stdout]     |   field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ReloadError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 447 -   IE(IE),
[INFO] [stdout] 447 +   IE(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/bundles.rs:448:14
[INFO] [stdout]     |
[INFO] [stdout] 448 |   Unloadable(BadBundle),
[INFO] [stdout]     |   ---------- ^^^^^^^^^
[INFO] [stdout]     |   |
[INFO] [stdout]     |   field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ReloadError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 448 -   Unloadable(BadBundle),
[INFO] [stdout] 448 +   Unloadable(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/hidden.rs:891:31
[INFO] [stdout]     |
[INFO] [stdout] 891 | pub struct NascentOccultation(Occultation);
[INFO] [stdout]     |            ------------------ ^^^^^^^^^^^
[INFO] [stdout]     |            |
[INFO] [stdout]     |            field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/occultilks.rs:55:16
[INFO] [stdout]    |
[INFO] [stdout] 55 |       Distinct(OccultIlkData),
[INFO] [stdout]    |       -------- ^^^^^^^^^^^^^
[INFO] [stdout]    |       |
[INFO] [stdout]    |       field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `IOccultIlk_New` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 55 -       Distinct(OccultIlkData),
[INFO] [stdout] 55 +       Distinct(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/occultilks.rs:56:11
[INFO] [stdout]    |
[INFO] [stdout] 56 |       Mix(OccultIlkOwningId),
[INFO] [stdout]    |       --- ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |       |
[INFO] [stdout]    |       field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `IOccultIlk_New` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 56 -       Mix(OccultIlkOwningId),
[INFO] [stdout] 56 +       Mix(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/bundles.rs:516:49
[INFO] [stdout]     |
[INFO] [stdout] 516 | #[derive(Copy,Clone,Debug,EnumCount,EnumMessage,ToPrimitive)]
[INFO] [stdout]     |                                                 ^----------
[INFO] [stdout]     |                                                 |
[INFO] [stdout]     |                                                 `ToPrimitive` is not local
[INFO] [stdout]     |                                                 move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_Phase`
[INFO] [stdout] 517 | enum Phase {
[INFO] [stdout]     |      ----- `Phase` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]     = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/bundles.rs:525:49
[INFO] [stdout]     |
[INFO] [stdout] 525 | #[derive(Copy,Clone,Debug,EnumCount,EnumMessage,ToPrimitive)]
[INFO] [stdout]     |                                                 ^----------
[INFO] [stdout]     |                                                 |
[INFO] [stdout]     |                                                 `ToPrimitive` is not local
[INFO] [stdout]     |                                                 move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_FinishProgress`
[INFO] [stdout] 526 | enum FinishProgress {
[INFO] [stdout]     |      -------------- `FinishProgress` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/bundles.rs:542:51
[INFO] [stdout]     |
[INFO] [stdout] 542 |   #[derive(Copy,Clone,Debug,EnumCount,EnumMessage,ToPrimitive)]
[INFO] [stdout]     |                                                   ^----------
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   `ToPrimitive` is not local
[INFO] [stdout]     |                                                   move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_ToScan` and up 2 bodies
[INFO] [stdout] 543 |   enum ToScan {
[INFO] [stdout]     |        ------ `ToScan` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/clock.rs:423:1
[INFO] [stdout]     |
[INFO] [stdout] 423 | #[dyn_upcast]
[INFO] [stdout]     | ^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `__SelfType` is not local
[INFO] [stdout]     | `DynCast` is not local
[INFO] [stdout]     | `__ConfigType` is not local
[INFO] [stdout]     | move the `impl` block outside of this closure `<unnameable>` and up 4 bodies
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/clock.rs:435:1
[INFO] [stdout]     |
[INFO] [stdout] 435 | #[dyn_upcast]
[INFO] [stdout]     | ^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `__SelfType` is not local
[INFO] [stdout]     | `DynCast` is not local
[INFO] [stdout]     | `__ConfigType` is not local
[INFO] [stdout]     | move the `impl` block outside of this closure `<unnameable>` and up 4 bodies
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/clock.rs:461:5
[INFO] [stdout]     |
[INFO] [stdout] 444 |   #[throws(IE)]
[INFO] [stdout]     |   ------------- move the `impl` block outside of this method `svg_piece`
[INFO] [stdout] ...
[INFO] [stdout] 461 |     impl URenderState {
[INFO] [stdout]     |     ^^^^^------------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `URenderState` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/utils.rs:669:8
[INFO] [stdout]     |
[INFO] [stdout] 669 |       $( #[ $attr ] )*
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `__SelfType` is not local
[INFO] [stdout]     |          `DynCast` is not local
[INFO] [stdout]     |          `__ConfigType` is not local
[INFO] [stdout]     |          move the `impl` block outside of this closure `<unnameable>` and up 4 bodies
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/currency.rs:117:1
[INFO] [stdout]     |
[INFO] [stdout] 117 | / impl_via_ambassador!{
[INFO] [stdout] 118 | |   #[dyn_upcast]
[INFO] [stdout] 119 | |   impl OutlineTrait for Banknote { image }
[INFO] [stdout] 120 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the macro `impl_via_ambassador` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/currency.rs:122:1
[INFO] [stdout]     |
[INFO] [stdout] 122 | #[dyn_upcast]
[INFO] [stdout]     | ^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `__SelfType` is not local
[INFO] [stdout]     | `DynCast` is not local
[INFO] [stdout]     | `__ConfigType` is not local
[INFO] [stdout]     | move the `impl` block outside of this closure `<unnameable>` and up 4 bodies
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/utils.rs:669:8
[INFO] [stdout]     |
[INFO] [stdout] 669 |       $( #[ $attr ] )*
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `__SelfType` is not local
[INFO] [stdout]     |          `DynCast` is not local
[INFO] [stdout]     |          `__ConfigType` is not local
[INFO] [stdout]     |          move the `impl` block outside of this closure `<unnameable>` and up 4 bodies
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/deck.rs:29:1
[INFO] [stdout]     |
[INFO] [stdout]  29 | / impl_via_ambassador!{
[INFO] [stdout]  30 | |   #[dyn_upcast]
[INFO] [stdout]  31 | |   impl OutlineTrait for Deck { shape }
[INFO] [stdout]  32 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the macro `impl_via_ambassador` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/deck.rs:97:1
[INFO] [stdout]    |
[INFO] [stdout] 97 | #[dyn_upcast]
[INFO] [stdout]    | ^^^^^^^^^^^^^
[INFO] [stdout]    | |
[INFO] [stdout]    | `__SelfType` is not local
[INFO] [stdout]    | `DynCast` is not local
[INFO] [stdout]    | `__ConfigType` is not local
[INFO] [stdout]    | move the `impl` block outside of this closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    |
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/dice.rs:313:1
[INFO] [stdout]     |
[INFO] [stdout] 313 | #[dyn_upcast]
[INFO] [stdout]     | ^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `__SelfType` is not local
[INFO] [stdout]     | `DynCast` is not local
[INFO] [stdout]     | `__ConfigType` is not local
[INFO] [stdout]     | move the `impl` block outside of this closure `<unnameable>` and up 4 bodies
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/dice.rs:342:1
[INFO] [stdout]     |
[INFO] [stdout] 342 | #[dyn_upcast]
[INFO] [stdout]     | ^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `__SelfType` is not local
[INFO] [stdout]     | `DynCast` is not local
[INFO] [stdout]     | `__ConfigType` is not local
[INFO] [stdout]     | move the `impl` block outside of this closure `<unnameable>` and up 4 bodies
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/utils.rs:669:8
[INFO] [stdout]     |
[INFO] [stdout] 669 |       $( #[ $attr ] )*
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `__SelfType` is not local
[INFO] [stdout]     |          `DynCast` is not local
[INFO] [stdout]     |          `__ConfigType` is not local
[INFO] [stdout]     |          move the `impl` block outside of this closure `<unnameable>` and up 4 bodies
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/fastsplit.rs:59:1
[INFO] [stdout]     |
[INFO] [stdout]  59 | / impl_via_ambassador!{
[INFO] [stdout]  60 | |   #[dyn_upcast]
[INFO] [stdout]  61 | |   impl OutlineTrait for Piece { inner() } 
[INFO] [stdout] ...   |
[INFO] [stdout]  67 | |   impl PieceTrait for Piece { inner() }
[INFO] [stdout]  68 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the macro `impl_via_ambassador` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/utils.rs:669:8
[INFO] [stdout]     |
[INFO] [stdout] 669 |       $( #[ $attr ] )*
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `__SelfType` is not local
[INFO] [stdout]     |          `DynCast` is not local
[INFO] [stdout]     |          `__ConfigType` is not local
[INFO] [stdout]     |          move the `impl` block outside of this closure `<unnameable>` and up 4 bodies
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/fastsplit.rs:59:1
[INFO] [stdout]     |
[INFO] [stdout]  59 | / impl_via_ambassador!{
[INFO] [stdout]  60 | |   #[dyn_upcast]
[INFO] [stdout]  61 | |   impl OutlineTrait for Piece { inner() } 
[INFO] [stdout] ...   |
[INFO] [stdout]  67 | |   impl PieceTrait for Piece { inner() }
[INFO] [stdout]  68 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the macro `impl_via_ambassador` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/gamestate.rs:148:1
[INFO] [stdout]     |
[INFO] [stdout] 148 | #[typetag::serde(tag="type")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Serialize` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_PieceXData_registry`
[INFO] [stdout] 149 | pub trait PieceXData: Downcast + Debug + Send + 'static {
[INFO] [stdout]     |           ---------- `PieceXData` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/gamestate.rs:148:1
[INFO] [stdout]     |
[INFO] [stdout] 148 | #[typetag::serde(tag="type")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Send` is not local
[INFO] [stdout]     | `Serialize` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_PieceXData_registry`
[INFO] [stdout] 149 | pub trait PieceXData: Downcast + Debug + Send + 'static {
[INFO] [stdout]     |           ---------- `PieceXData` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/gamestate.rs:148:1
[INFO] [stdout]     |
[INFO] [stdout] 148 | #[typetag::serde(tag="type")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Sync` is not local
[INFO] [stdout]     | `Serialize` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_PieceXData_registry`
[INFO] [stdout] 149 | pub trait PieceXData: Downcast + Debug + Send + 'static {
[INFO] [stdout]     |           ---------- `PieceXData` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/gamestate.rs:148:1
[INFO] [stdout]     |
[INFO] [stdout] 148 | #[typetag::serde(tag="type")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Send` is not local
[INFO] [stdout]     | `Sync` is not local
[INFO] [stdout]     | `Serialize` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_PieceXData_registry`
[INFO] [stdout] 149 | pub trait PieceXData: Downcast + Debug + Send + 'static {
[INFO] [stdout]     |           ---------- `PieceXData` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/gamestate.rs:148:1
[INFO] [stdout]     |
[INFO] [stdout] 148 | #[typetag::serde(tag="type")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ move the `impl` block outside of this constant `_PieceXData_registry`
[INFO] [stdout] 149 | pub trait PieceXData: Downcast + Debug + Send + 'static {
[INFO] [stdout]     |           ---------- `PieceXData` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/gamestate.rs:148:1
[INFO] [stdout]     |
[INFO] [stdout] 148 | #[typetag::serde(tag="type")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Strictest` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_PieceXData_registry`
[INFO] [stdout] 149 | pub trait PieceXData: Downcast + Debug + Send + 'static {
[INFO] [stdout]     |           ---------- `PieceXData` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/gamestate.rs:148:1
[INFO] [stdout]     |
[INFO] [stdout] 148 | #[typetag::serde(tag="type")]
[INFO] [stdout]     | -^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Box` is not local
[INFO] [stdout]     | `Send` is not local
[INFO] [stdout]     | `Deserialize` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_PieceXData_registry`
[INFO] [stdout] 149 | pub trait PieceXData: Downcast + Debug + Send + 'static {
[INFO] [stdout]     |           ---------- `PieceXData` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/gamestate.rs:148:1
[INFO] [stdout]     |
[INFO] [stdout] 148 | #[typetag::serde(tag="type")]
[INFO] [stdout]     | -^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Box` is not local
[INFO] [stdout]     | `Deserialize` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_PieceXData_registry`
[INFO] [stdout] 149 | pub trait PieceXData: Downcast + Debug + Send + 'static {
[INFO] [stdout]     |           ---------- `PieceXData` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/gamestate.rs:156:1
[INFO] [stdout]     |
[INFO] [stdout] 156 | #[dyn_upcast]
[INFO] [stdout]     | -^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Config` is not local
[INFO] [stdout]     | `DynCastConfig` is not local
[INFO] [stdout]     | move the `impl` block outside of this closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `::cast_trait_object::impl_dyn_cast_config` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/gamestate.rs:156:1
[INFO] [stdout]     |
[INFO] [stdout] 156 | #[dyn_upcast]
[INFO] [stdout]     | -^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Config` is not local
[INFO] [stdout]     | `DynCastConfigTargetTest` is not local
[INFO] [stdout]     | move the `impl` block outside of this closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `::cast_trait_object::impl_dyn_cast_config` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/gamestate.rs:156:1
[INFO] [stdout]     |
[INFO] [stdout] 156 | #[dyn_upcast]
[INFO] [stdout]     | ^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `OutlineTrait` is not local
[INFO] [stdout]     | `GetDynCastConfig` is not local
[INFO] [stdout]     | move the `impl` block outside of this closure `<unnameable>` and up 2 bodies
[INFO] [stdout] 157 | pub trait OutlineTrait: Debug + Sync + Send + 'static {
[INFO] [stdout]     |           ------------ `OutlineTrait` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `::cast_trait_object::impl_dyn_cast_config` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/gamestate.rs:187:1
[INFO] [stdout]     |
[INFO] [stdout] 187 | #[dyn_upcast]
[INFO] [stdout]     | -^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Config` is not local
[INFO] [stdout]     | `DynCastConfig` is not local
[INFO] [stdout]     | move the `impl` block outside of this closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `::cast_trait_object::impl_dyn_cast_config` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/gamestate.rs:187:1
[INFO] [stdout]     |
[INFO] [stdout] 187 | #[dyn_upcast]
[INFO] [stdout]     | -^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Config` is not local
[INFO] [stdout]     | `DynCastConfigTargetTest` is not local
[INFO] [stdout]     | move the `impl` block outside of this closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `::cast_trait_object::impl_dyn_cast_config` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/gamestate.rs:187:1
[INFO] [stdout]     |
[INFO] [stdout] 187 | #[dyn_upcast]
[INFO] [stdout]     | ^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `PieceBaseTrait` is not local
[INFO] [stdout]     | `GetDynCastConfig` is not local
[INFO] [stdout]     | move the `impl` block outside of this closure `<unnameable>` and up 2 bodies
[INFO] [stdout] 188 | pub trait PieceBaseTrait: OutlineTrait + Send + Debug + 'static {
[INFO] [stdout]     |           -------------- `PieceBaseTrait` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `::cast_trait_object::impl_dyn_cast_config` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `::cast_trait_object::impl_dyn_cast_config` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast_config` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/gamestate.rs:196:1
[INFO] [stdout]     |
[INFO] [stdout] 196 | #[typetag::serde] // usual variable: p
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Serialize` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_PieceTrait_registry`
[INFO] [stdout] 197 | pub trait PieceTrait: PieceBaseTrait + Downcast + Send + Debug + 'static {
[INFO] [stdout]     |           ---------- `PieceTrait` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/gamestate.rs:196:1
[INFO] [stdout]     |
[INFO] [stdout] 196 | #[typetag::serde] // usual variable: p
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Send` is not local
[INFO] [stdout]     | `Serialize` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_PieceTrait_registry`
[INFO] [stdout] 197 | pub trait PieceTrait: PieceBaseTrait + Downcast + Send + Debug + 'static {
[INFO] [stdout]     |           ---------- `PieceTrait` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/gamestate.rs:196:1
[INFO] [stdout]     |
[INFO] [stdout] 196 | #[typetag::serde] // usual variable: p
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Sync` is not local
[INFO] [stdout]     | `Serialize` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_PieceTrait_registry`
[INFO] [stdout] 197 | pub trait PieceTrait: PieceBaseTrait + Downcast + Send + Debug + 'static {
[INFO] [stdout]     |           ---------- `PieceTrait` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/gamestate.rs:196:1
[INFO] [stdout]     |
[INFO] [stdout] 196 | #[typetag::serde] // usual variable: p
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Send` is not local
[INFO] [stdout]     | `Sync` is not local
[INFO] [stdout]     | `Serialize` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_PieceTrait_registry`
[INFO] [stdout] 197 | pub trait PieceTrait: PieceBaseTrait + Downcast + Send + Debug + 'static {
[INFO] [stdout]     |           ---------- `PieceTrait` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/gamestate.rs:196:1
[INFO] [stdout]     |
[INFO] [stdout] 196 | #[typetag::serde] // usual variable: p
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ move the `impl` block outside of this constant `_PieceTrait_registry`
[INFO] [stdout] 197 | pub trait PieceTrait: PieceBaseTrait + Downcast + Send + Debug + 'static {
[INFO] [stdout]     |           ---------- `PieceTrait` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/gamestate.rs:196:1
[INFO] [stdout]     |
[INFO] [stdout] 196 | #[typetag::serde] // usual variable: p
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Strictest` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_PieceTrait_registry`
[INFO] [stdout] 197 | pub trait PieceTrait: PieceBaseTrait + Downcast + Send + Debug + 'static {
[INFO] [stdout]     |           ---------- `PieceTrait` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/gamestate.rs:196:1
[INFO] [stdout]     |
[INFO] [stdout] 196 | #[typetag::serde] // usual variable: p
[INFO] [stdout]     | -^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Box` is not local
[INFO] [stdout]     | `Send` is not local
[INFO] [stdout]     | `Deserialize` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_PieceTrait_registry`
[INFO] [stdout] 197 | pub trait PieceTrait: PieceBaseTrait + Downcast + Send + Debug + 'static {
[INFO] [stdout]     |           ---------- `PieceTrait` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/gamestate.rs:196:1
[INFO] [stdout]     |
[INFO] [stdout] 196 | #[typetag::serde] // usual variable: p
[INFO] [stdout]     | -^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Box` is not local
[INFO] [stdout]     | `Deserialize` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_PieceTrait_registry`
[INFO] [stdout] 197 | pub trait PieceTrait: PieceBaseTrait + Downcast + Send + Debug + 'static {
[INFO] [stdout]     |           ---------- `PieceTrait` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/gamestate.rs:301:1
[INFO] [stdout]     |
[INFO] [stdout] 301 | #[typetag::serde]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Serialize` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_InertPieceTrait_registry`
[INFO] [stdout] 302 | pub trait InertPieceTrait: PieceBaseTrait {
[INFO] [stdout]     |           --------------- `InertPieceTrait` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/gamestate.rs:301:1
[INFO] [stdout]     |
[INFO] [stdout] 301 | #[typetag::serde]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Send` is not local
[INFO] [stdout]     | `Serialize` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_InertPieceTrait_registry`
[INFO] [stdout] 302 | pub trait InertPieceTrait: PieceBaseTrait {
[INFO] [stdout]     |           --------------- `InertPieceTrait` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/gamestate.rs:301:1
[INFO] [stdout]     |
[INFO] [stdout] 301 | #[typetag::serde]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Sync` is not local
[INFO] [stdout]     | `Serialize` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_InertPieceTrait_registry`
[INFO] [stdout] 302 | pub trait InertPieceTrait: PieceBaseTrait {
[INFO] [stdout]     |           --------------- `InertPieceTrait` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/gamestate.rs:301:1
[INFO] [stdout]     |
[INFO] [stdout] 301 | #[typetag::serde]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Send` is not local
[INFO] [stdout]     | `Sync` is not local
[INFO] [stdout]     | `Serialize` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_InertPieceTrait_registry`
[INFO] [stdout] 302 | pub trait InertPieceTrait: PieceBaseTrait {
[INFO] [stdout]     |           --------------- `InertPieceTrait` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/gamestate.rs:301:1
[INFO] [stdout]     |
[INFO] [stdout] 301 | #[typetag::serde]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^ move the `impl` block outside of this constant `_InertPieceTrait_registry`
[INFO] [stdout] 302 | pub trait InertPieceTrait: PieceBaseTrait {
[INFO] [stdout]     |           --------------- `InertPieceTrait` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/gamestate.rs:301:1
[INFO] [stdout]     |
[INFO] [stdout] 301 | #[typetag::serde]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Strictest` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_InertPieceTrait_registry`
[INFO] [stdout] 302 | pub trait InertPieceTrait: PieceBaseTrait {
[INFO] [stdout]     |           --------------- `InertPieceTrait` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/gamestate.rs:301:1
[INFO] [stdout]     |
[INFO] [stdout] 301 | #[typetag::serde]
[INFO] [stdout]     | -^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Box` is not local
[INFO] [stdout]     | `Deserialize` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_InertPieceTrait_registry`
[INFO] [stdout] 302 | pub trait InertPieceTrait: PieceBaseTrait {
[INFO] [stdout]     |           --------------- `InertPieceTrait` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/gamestate.rs:362:1
[INFO] [stdout]     |
[INFO] [stdout] 362 | #[typetag::serde(tag="type")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Serialize` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_PieceSpec_registry`
[INFO] [stdout] 363 | pub trait PieceSpec: Debug + Sync + Send + 'static {
[INFO] [stdout]     |           --------- `PieceSpec` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/gamestate.rs:362:1
[INFO] [stdout]     |
[INFO] [stdout] 362 | #[typetag::serde(tag="type")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Send` is not local
[INFO] [stdout]     | `Serialize` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_PieceSpec_registry`
[INFO] [stdout] 363 | pub trait PieceSpec: Debug + Sync + Send + 'static {
[INFO] [stdout]     |           --------- `PieceSpec` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/gamestate.rs:362:1
[INFO] [stdout]     |
[INFO] [stdout] 362 | #[typetag::serde(tag="type")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Sync` is not local
[INFO] [stdout]     | `Serialize` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_PieceSpec_registry`
[INFO] [stdout] 363 | pub trait PieceSpec: Debug + Sync + Send + 'static {
[INFO] [stdout]     |           --------- `PieceSpec` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/gamestate.rs:362:1
[INFO] [stdout]     |
[INFO] [stdout] 362 | #[typetag::serde(tag="type")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Send` is not local
[INFO] [stdout]     | `Sync` is not local
[INFO] [stdout]     | `Serialize` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_PieceSpec_registry`
[INFO] [stdout] 363 | pub trait PieceSpec: Debug + Sync + Send + 'static {
[INFO] [stdout]     |           --------- `PieceSpec` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/gamestate.rs:362:1
[INFO] [stdout]     |
[INFO] [stdout] 362 | #[typetag::serde(tag="type")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ move the `impl` block outside of this constant `_PieceSpec_registry`
[INFO] [stdout] 363 | pub trait PieceSpec: Debug + Sync + Send + 'static {
[INFO] [stdout]     |           --------- `PieceSpec` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/gamestate.rs:362:1
[INFO] [stdout]     |
[INFO] [stdout] 362 | #[typetag::serde(tag="type")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Strictest` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_PieceSpec_registry`
[INFO] [stdout] 363 | pub trait PieceSpec: Debug + Sync + Send + 'static {
[INFO] [stdout]     |           --------- `PieceSpec` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/gamestate.rs:362:1
[INFO] [stdout]     |
[INFO] [stdout] 362 | #[typetag::serde(tag="type")]
[INFO] [stdout]     | -^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Box` is not local
[INFO] [stdout]     | `Send` is not local
[INFO] [stdout]     | `Sync` is not local
[INFO] [stdout]     | `Deserialize` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_PieceSpec_registry`
[INFO] [stdout] 363 | pub trait PieceSpec: Debug + Sync + Send + 'static {
[INFO] [stdout]     |           --------- `PieceSpec` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/gamestate.rs:362:1
[INFO] [stdout]     |
[INFO] [stdout] 362 | #[typetag::serde(tag="type")]
[INFO] [stdout]     | -^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Box` is not local
[INFO] [stdout]     | `Deserialize` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_PieceSpec_registry`
[INFO] [stdout] 363 | pub trait PieceSpec: Debug + Sync + Send + 'static {
[INFO] [stdout]     |           --------- `PieceSpec` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/gamestate.rs:362:1
[INFO] [stdout]     |
[INFO] [stdout] 362 | #[typetag::serde(tag="type")]
[INFO] [stdout]     | -^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Box` is not local
[INFO] [stdout]     | `Send` is not local
[INFO] [stdout]     | `Deserialize` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_PieceSpec_registry`
[INFO] [stdout] 363 | pub trait PieceSpec: Debug + Sync + Send + 'static {
[INFO] [stdout]     |           --------- `PieceSpec` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/gamestate.rs:362:1
[INFO] [stdout]     |
[INFO] [stdout] 362 | #[typetag::serde(tag="type")]
[INFO] [stdout]     | -^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Box` is not local
[INFO] [stdout]     | `Sync` is not local
[INFO] [stdout]     | `Deserialize` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_PieceSpec_registry`
[INFO] [stdout] 363 | pub trait PieceSpec: Debug + Sync + Send + 'static {
[INFO] [stdout]     |           --------- `PieceSpec` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/global.rs:305:31
[INFO] [stdout]     |
[INFO] [stdout] 305 |   pub fn lock_even_destroying(&self) -> MutexGuard<InstanceContainer> {
[INFO] [stdout]     |                               ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 305 |   pub fn lock_even_destroying(&self) -> MutexGuard<'_, InstanceContainer> {
[INFO] [stdout]     |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/global.rs:340:62
[INFO] [stdout]     |
[INFO] [stdout] 340 |   fn lock_bundles<'r>(&'r self) -> Unauthorised<BundlesGuard<'_>, A> {
[INFO] [stdout]     |                        -- the lifetime is named here         ^^ the same lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'r`
[INFO] [stdout]     |
[INFO] [stdout] 340 -   fn lock_bundles<'r>(&'r self) -> Unauthorised<BundlesGuard<'_>, A> {
[INFO] [stdout] 340 +   fn lock_bundles<'r>(&'r self) -> Unauthorised<BundlesGuard<'r>, A> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/global.rs:1530:21
[INFO] [stdout]      |
[INFO] [stdout] 1530 |   pub fn values_mut(&mut self) -> sm::ValuesMut<PieceId, GPiece> {
[INFO] [stdout]      |                     ^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1530 |   pub fn values_mut(&mut self) -> sm::ValuesMut<'_, PieceId, GPiece> {
[INFO] [stdout]      |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/utils.rs:669:8
[INFO] [stdout]     |
[INFO] [stdout] 669 |       $( #[ $attr ] )*
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `__SelfType` is not local
[INFO] [stdout]     |          `DynCast` is not local
[INFO] [stdout]     |          `__ConfigType` is not local
[INFO] [stdout]     |          move the `impl` block outside of this closure `<unnameable>` and up 4 bodies
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/hand.rs:79:1
[INFO] [stdout]     |
[INFO] [stdout]  79 | / impl_via_ambassador!{
[INFO] [stdout]  80 | |   #[dyn_upcast]
[INFO] [stdout]  81 | |   impl OutlineTrait for Hand { shape }
[INFO] [stdout]  82 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the macro `impl_via_ambassador` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/hand.rs:143:1
[INFO] [stdout]     |
[INFO] [stdout] 143 | #[dyn_upcast]
[INFO] [stdout]     | ^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `__SelfType` is not local
[INFO] [stdout]     | `DynCast` is not local
[INFO] [stdout]     | `__ConfigType` is not local
[INFO] [stdout]     | move the `impl` block outside of this closure `<unnameable>` and up 4 bodies
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/outline.rs:18:3
[INFO] [stdout]    |
[INFO] [stdout] 18 |     #[dyn_upcast(OutlineTrait)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     `__SelfType` is not local
[INFO] [stdout]    |     `DynCast` is not local
[INFO] [stdout]    |     `__ConfigType` is not local
[INFO] [stdout]    |     move the `impl` block outside of this closure `<unnameable>` and up 4 bodies
[INFO] [stdout] ...
[INFO] [stdout] 51 | / shape_defns! {
[INFO] [stdout] 52 | |   Circle "Circle";
[INFO] [stdout] 53 | |   Rect   "Rect"  ;
[INFO] [stdout] 54 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the macro `shape_defns` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/outline.rs:62:1
[INFO] [stdout]    |
[INFO] [stdout] 62 | #[dyn_upcast]
[INFO] [stdout]    | ^^^^^^^^^^^^^
[INFO] [stdout]    | |
[INFO] [stdout]    | `__SelfType` is not local
[INFO] [stdout]    | `DynCast` is not local
[INFO] [stdout]    | `__ConfigType` is not local
[INFO] [stdout]    | move the `impl` block outside of this closure `<unnameable>` and up 4 bodies
[INFO] [stdout]    |
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/outline.rs:109:1
[INFO] [stdout]     |
[INFO] [stdout] 109 | #[dyn_upcast]
[INFO] [stdout]     | ^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `__SelfType` is not local
[INFO] [stdout]     | `DynCast` is not local
[INFO] [stdout]     | `__ConfigType` is not local
[INFO] [stdout]     | move the `impl` block outside of this closure `<unnameable>` and up 4 bodies
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/utils.rs:669:8
[INFO] [stdout]     |
[INFO] [stdout] 669 |       $( #[ $attr ] )*
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `DerivedDynCast` is not local
[INFO] [stdout]     |          `ConcreteDynCastConfig` is not local
[INFO] [stdout]     |          `Config` is not local
[INFO] [stdout]     |          move the `impl` block outside of this closure `<unnameable>` and up 2 bodies
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/pieces.rs:108:1
[INFO] [stdout]     |
[INFO] [stdout] 108 | / impl_via_ambassador! {
[INFO] [stdout] 109 | |   #[dyn_upcast]
[INFO] [stdout] 110 | |   impl [ Desc, Outl:'static ]
[INFO] [stdout] 111 | |     OutlineTrait for GenericSimpleShape<Desc, Outl>
[INFO] [stdout]     | |     ------------     ------------------ `GenericSimpleShape` is not local
[INFO] [stdout]     | |     |
[INFO] [stdout]     | |     `OutlineTrait` is not local
[INFO] [stdout]     | |     `OutlineTrait` is not local
[INFO] [stdout]     | |     `OutlineTrait` is not local
[INFO] [stdout]     | |     `OutlineTrait` is not local
[INFO] [stdout] ...   |
[INFO] [stdout] 117 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `::cast_trait_object::impl_dyn_cast` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `::cast_trait_object::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `::cast_trait_object::impl_dyn_cast` which comes from the expansion of the macro `impl_via_ambassador` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/pieces.rs:120:1
[INFO] [stdout]     |
[INFO] [stdout] 120 | #[dyn_upcast]
[INFO] [stdout]     | ^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `__SelfType` is not local
[INFO] [stdout]     | `DynCast` is not local
[INFO] [stdout]     | `__ConfigType` is not local
[INFO] [stdout]     | move the `impl` block outside of this closure `<unnameable>` and up 4 bodies
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/pieces.rs:302:1
[INFO] [stdout]     |
[INFO] [stdout] 302 | #[typetag::serde(tag="type")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Serialize` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_SimplePieceSpec_registry`
[INFO] [stdout] 303 | pub trait SimplePieceSpec: Debug {
[INFO] [stdout]     |           --------------- `SimplePieceSpec` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/pieces.rs:302:1
[INFO] [stdout]     |
[INFO] [stdout] 302 | #[typetag::serde(tag="type")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Send` is not local
[INFO] [stdout]     | `Serialize` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_SimplePieceSpec_registry`
[INFO] [stdout] 303 | pub trait SimplePieceSpec: Debug {
[INFO] [stdout]     |           --------------- `SimplePieceSpec` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/pieces.rs:302:1
[INFO] [stdout]     |
[INFO] [stdout] 302 | #[typetag::serde(tag="type")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Sync` is not local
[INFO] [stdout]     | `Serialize` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_SimplePieceSpec_registry`
[INFO] [stdout] 303 | pub trait SimplePieceSpec: Debug {
[INFO] [stdout]     |           --------------- `SimplePieceSpec` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/pieces.rs:302:1
[INFO] [stdout]     |
[INFO] [stdout] 302 | #[typetag::serde(tag="type")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Send` is not local
[INFO] [stdout]     | `Sync` is not local
[INFO] [stdout]     | `Serialize` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_SimplePieceSpec_registry`
[INFO] [stdout] 303 | pub trait SimplePieceSpec: Debug {
[INFO] [stdout]     |           --------------- `SimplePieceSpec` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/pieces.rs:302:1
[INFO] [stdout]     |
[INFO] [stdout] 302 | #[typetag::serde(tag="type")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ move the `impl` block outside of this constant `_SimplePieceSpec_registry`
[INFO] [stdout] 303 | pub trait SimplePieceSpec: Debug {
[INFO] [stdout]     |           --------------- `SimplePieceSpec` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/pieces.rs:302:1
[INFO] [stdout]     |
[INFO] [stdout] 302 | #[typetag::serde(tag="type")]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Strictest` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_SimplePieceSpec_registry`
[INFO] [stdout] 303 | pub trait SimplePieceSpec: Debug {
[INFO] [stdout]     |           --------------- `SimplePieceSpec` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/pieces.rs:302:1
[INFO] [stdout]     |
[INFO] [stdout] 302 | #[typetag::serde(tag="type")]
[INFO] [stdout]     | -^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `Box` is not local
[INFO] [stdout]     | `Deserialize` is not local
[INFO] [stdout]     | move the `impl` block outside of this constant `_SimplePieceSpec_registry`
[INFO] [stdout] 303 | pub trait SimplePieceSpec: Debug {
[INFO] [stdout]     |           --------------- `SimplePieceSpec` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/shapelib.rs:246:32
[INFO] [stdout]     |
[INFO] [stdout] 246 |   fn unnest<'l,U>(&'l self) -> &SvgBaseName<U> where U: ?Sized, T: Borrow<U> {
[INFO] [stdout]     |                    --          ^^^^^^^^^^^^^^^ the same lifetime is elided here
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'l`
[INFO] [stdout]     |
[INFO] [stdout] 246 |   fn unnest<'l,U>(&'l self) -> &'l SvgBaseName<U> where U: ?Sized, T: Borrow<U> {
[INFO] [stdout]     |                                 ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/utils.rs:669:8
[INFO] [stdout]     |
[INFO] [stdout] 669 |       $( #[ $attr ] )*
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `__SelfType` is not local
[INFO] [stdout]     |          `DynCast` is not local
[INFO] [stdout]     |          `__ConfigType` is not local
[INFO] [stdout]     |          move the `impl` block outside of this closure `<unnameable>` and up 4 bodies
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/shapelib.rs:263:1
[INFO] [stdout]     |
[INFO] [stdout] 263 | / impl_via_ambassador!{
[INFO] [stdout] 264 | |   #[dyn_upcast]
[INFO] [stdout] 265 | |   impl OutlineTrait for ItemInertForOcculted { outline }
[INFO] [stdout] 266 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the macro `impl_via_ambassador` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/shapelib.rs:267:1
[INFO] [stdout]     |
[INFO] [stdout] 267 | #[dyn_upcast]
[INFO] [stdout]     | ^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `__SelfType` is not local
[INFO] [stdout]     | `DynCast` is not local
[INFO] [stdout]     | `__ConfigType` is not local
[INFO] [stdout]     | move the `impl` block outside of this closure `<unnameable>` and up 4 bodies
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/utils.rs:669:8
[INFO] [stdout]     |
[INFO] [stdout] 669 |       $( #[ $attr ] )*
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `__SelfType` is not local
[INFO] [stdout]     |          `DynCast` is not local
[INFO] [stdout]     |          `__ConfigType` is not local
[INFO] [stdout]     |          move the `impl` block outside of this closure `<unnameable>` and up 4 bodies
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/shapelib.rs:346:1
[INFO] [stdout]     |
[INFO] [stdout] 346 | / impl_via_ambassador!{
[INFO] [stdout] 347 | |   #[dyn_upcast]
[INFO] [stdout] 348 | |   impl OutlineTrait for Item { outline }
[INFO] [stdout] 349 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the macro `impl_via_ambassador` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/shapelib.rs:379:1
[INFO] [stdout]     |
[INFO] [stdout] 379 | #[dyn_upcast]
[INFO] [stdout]     | ^^^^^^^^^^^^^
[INFO] [stdout]     | |
[INFO] [stdout]     | `__SelfType` is not local
[INFO] [stdout]     | `DynCast` is not local
[INFO] [stdout]     | `__ConfigType` is not local
[INFO] [stdout]     | move the `impl` block outside of this closure `<unnameable>` and up 4 bodies
[INFO] [stdout]     |
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the macro `$crate::impl_dyn_cast` may come from an old version of the `cast_trait_object` crate, try updating your dependency with `cargo update -p cast_trait_object`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::impl_dyn_cast` which comes from the expansion of the attribute macro `dyn_upcast` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/spec.rs:168:10
[INFO] [stdout]     |
[INFO] [stdout] 168 | #[derive(FromPrimitive,ToPrimitive,EnumIter)]
[INFO] [stdout]     |          ^------------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `FromPrimitive` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_TablePermission`
[INFO] [stdout] 169 | pub enum TablePermission {
[INFO] [stdout]     |          --------------- `TablePermission` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/spec.rs:168:24
[INFO] [stdout]     |
[INFO] [stdout] 168 | #[derive(FromPrimitive,ToPrimitive,EnumIter)]
[INFO] [stdout]     |                        ^----------
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `ToPrimitive` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_TablePermission`
[INFO] [stdout] 169 | pub enum TablePermission {
[INFO] [stdout]     |          --------------- `TablePermission` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/spec.rs:456:3
[INFO] [stdout]     |
[INFO] [stdout] 456 |   #[typetag::serde(tag="access")]
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |   |
[INFO] [stdout]     |   `Serialize` is not local
[INFO] [stdout]     |   move the `impl` block outside of this constant `_PlayerAccessSpec_registry`
[INFO] [stdout] 457 |   pub trait PlayerAccessSpec: Debug + Sync + Send {
[INFO] [stdout]     |             ---------------- `PlayerAccessSpec` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/spec.rs:456:3
[INFO] [stdout]     |
[INFO] [stdout] 456 |   #[typetag::serde(tag="access")]
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |   |
[INFO] [stdout]     |   `Send` is not local
[INFO] [stdout]     |   `Serialize` is not local
[INFO] [stdout]     |   move the `impl` block outside of this constant `_PlayerAccessSpec_registry`
[INFO] [stdout] 457 |   pub trait PlayerAccessSpec: Debug + Sync + Send {
[INFO] [stdout]     |             ---------------- `PlayerAccessSpec` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/spec.rs:456:3
[INFO] [stdout]     |
[INFO] [stdout] 456 |   #[typetag::serde(tag="access")]
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |   |
[INFO] [stdout]     |   `Sync` is not local
[INFO] [stdout]     |   `Serialize` is not local
[INFO] [stdout]     |   move the `impl` block outside of this constant `_PlayerAccessSpec_registry`
[INFO] [stdout] 457 |   pub trait PlayerAccessSpec: Debug + Sync + Send {
[INFO] [stdout]     |             ---------------- `PlayerAccessSpec` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/spec.rs:456:3
[INFO] [stdout]     |
[INFO] [stdout] 456 |   #[typetag::serde(tag="access")]
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |   |
[INFO] [stdout]     |   `Send` is not local
[INFO] [stdout]     |   `Sync` is not local
[INFO] [stdout]     |   `Serialize` is not local
[INFO] [stdout]     |   move the `impl` block outside of this constant `_PlayerAccessSpec_registry`
[INFO] [stdout] 457 |   pub trait PlayerAccessSpec: Debug + Sync + Send {
[INFO] [stdout]     |             ---------------- `PlayerAccessSpec` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/spec.rs:456:3
[INFO] [stdout]     |
[INFO] [stdout] 456 |   #[typetag::serde(tag="access")]
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ move the `impl` block outside of this constant `_PlayerAccessSpec_registry`
[INFO] [stdout] 457 |   pub trait PlayerAccessSpec: Debug + Sync + Send {
[INFO] [stdout]     |             ---------------- `PlayerAccessSpec` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/spec.rs:456:3
[INFO] [stdout]     |
[INFO] [stdout] 456 |   #[typetag::serde(tag="access")]
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |   |
[INFO] [stdout]     |   `Strictest` is not local
[INFO] [stdout]     |   move the `impl` block outside of this constant `_PlayerAccessSpec_registry`
[INFO] [stdout] 457 |   pub trait PlayerAccessSpec: Debug + Sync + Send {
[INFO] [stdout]     |             ---------------- `PlayerAccessSpec` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/spec.rs:456:3
[INFO] [stdout]     |
[INFO] [stdout] 456 |   #[typetag::serde(tag="access")]
[INFO] [stdout]     |   -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |   |
[INFO] [stdout]     |   `Box` is not local
[INFO] [stdout]     |   `Send` is not local
[INFO] [stdout]     |   `Sync` is not local
[INFO] [stdout]     |   `Deserialize` is not local
[INFO] [stdout]     |   move the `impl` block outside of this constant `_PlayerAccessSpec_registry`
[INFO] [stdout] 457 |   pub trait PlayerAccessSpec: Debug + Sync + Send {
[INFO] [stdout]     |             ---------------- `PlayerAccessSpec` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/spec.rs:456:3
[INFO] [stdout]     |
[INFO] [stdout] 456 |   #[typetag::serde(tag="access")]
[INFO] [stdout]     |   -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |   |
[INFO] [stdout]     |   `Box` is not local
[INFO] [stdout]     |   `Deserialize` is not local
[INFO] [stdout]     |   move the `impl` block outside of this constant `_PlayerAccessSpec_registry`
[INFO] [stdout] 457 |   pub trait PlayerAccessSpec: Debug + Sync + Send {
[INFO] [stdout]     |             ---------------- `PlayerAccessSpec` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/spec.rs:456:3
[INFO] [stdout]     |
[INFO] [stdout] 456 |   #[typetag::serde(tag="access")]
[INFO] [stdout]     |   -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |   |
[INFO] [stdout]     |   `Box` is not local
[INFO] [stdout]     |   `Send` is not local
[INFO] [stdout]     |   `Deserialize` is not local
[INFO] [stdout]     |   move the `impl` block outside of this constant `_PlayerAccessSpec_registry`
[INFO] [stdout] 457 |   pub trait PlayerAccessSpec: Debug + Sync + Send {
[INFO] [stdout]     |             ---------------- `PlayerAccessSpec` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/spec.rs:456:3
[INFO] [stdout]     |
[INFO] [stdout] 456 |   #[typetag::serde(tag="access")]
[INFO] [stdout]     |   -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |   |
[INFO] [stdout]     |   `Box` is not local
[INFO] [stdout]     |   `Sync` is not local
[INFO] [stdout]     |   `Deserialize` is not local
[INFO] [stdout]     |   move the `impl` block outside of this constant `_PlayerAccessSpec_registry`
[INFO] [stdout] 457 |   pub trait PlayerAccessSpec: Debug + Sync + Send {
[INFO] [stdout]     |             ---------------- `PlayerAccessSpec` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the attribute macro `typetag::serde` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the attribute macro `typetag::serde` may come from an old version of the `typetag_impl` crate, try updating your dependency with `cargo update -p typetag_impl`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the attribute macro `typetag::serde` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/updates.rs:877:34
[INFO] [stdout]     |
[INFO] [stdout] 877 |     fn pue_piece_to_tue_p(pue_p: &PUE_P, player: PlayerId)
[INFO] [stdout]     |                                  ^^^^^^ the lifetime is elided here
[INFO] [stdout] 878 |                           -> Option<TUE_P> {
[INFO] [stdout]     |                                     ^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 878 |                           -> Option<TUE_P<'_>> {
[INFO] [stdout]     |                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/updates.rs:884:34
[INFO] [stdout]     |
[INFO] [stdout] 884 |     fn pue_image_to_tue_i(pue_i: &PUE_I, player: PlayerId) -> Option<TUE_I> {
[INFO] [stdout]     |                                  ^^^^^^ the lifetime is elided here  ^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 884 |     fn pue_image_to_tue_i(pue_i: &PUE_I, player: PlayerId) -> Option<TUE_I<'_>> {
[INFO] [stdout]     |                                                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/updates.rs:890:32
[INFO] [stdout]     |
[INFO] [stdout] 890 |     fn pue_piece_to_tue(pue_p: &PUE_P, player: PlayerId, dest: ClientId)
[INFO] [stdout]     |                                ^^^^^^ the lifetime is elided here
[INFO] [stdout] 891 |                         -> Option<TUE> {
[INFO] [stdout]     |                                   ^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 891 |                         -> Option<TUE<'_>> {
[INFO] [stdout]     |                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `otter` (lib) due to 4 previous errors; 103 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "ab7b75c75640e83153cb9608128722febe912bec55be65fd7d1d85f2be9aaba7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ab7b75c75640e83153cb9608128722febe912bec55be65fd7d1d85f2be9aaba7", kill_on_drop: false }`
[INFO] [stdout] ab7b75c75640e83153cb9608128722febe912bec55be65fd7d1d85f2be9aaba7
